"""
位置居中处理
"""


def center_handler(obj, target, position=(0, 0), is_h_center=False, is_v_center=False):
    """
    对要绘制到目标对象中的对象的位置进行居中处理
    :param obj: 要进行绘制的对象
    :param target: 要绘制到的目标对象
    :param position: 在窗口中的位置
    :param is_h_center: 在窗口中的位置是否水平方向上居中，默认值 False
    :param is_v_center: 在窗口中的位置是否垂直方向上居中，默认值 False
    :return: 要绘制到窗口中的对象的位置居中处理后的位置
    """
    # 如果在窗口中要水平居中
    if is_h_center:
        position = (target.get_width() / 2 - obj.get_width() / 2, position[1])
    # 如果在窗口中要垂直居中
    if is_v_center:
        position = (position[0], target.get_height() / 2 - obj.get_height() / 2)
    return position
